package com.niit.mall.order.domain.query;


import com.niit.mall.common.domain.query.PageQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @BelongsProject: pardo_mall_backend
 * @BelongsPackage: com.niit.mall.admin.domain.query
 * @Author: ChuXuan
 * @CreateTime: 2025-05-25  22:28
 * @Description: 订单查询条件
 * @Version: 1.0
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class OrderQuery extends PageQuery {

	/**
	 * 订单编号 - 日期时间+用户id
	 */
	private String orderNumber;

	/**
	 * 用户id
	 */
	private Long userId;

	/**
	 * 最大价格
	 */
	private Double maxPrice;

	/**
	 * 最小价格
	 */
	private Double minPrice;

	/**
	 * 支付类型，1、支付宝，2、微信，3、扣减余额
	 */
	private Integer paymentType;

	/**
	 *  订单的状态，1、未付款 2、已付款,未发货 3、已发货,未确认 4、确认收货，交易成功 5、交易取消，订单关闭 6、交易结束，已评价
	 */
	private Integer status;

	/**
	 * 订单来源 - 0：网页订单；1：APP订单；2：小程序订单
	 */
	private Integer sourceType;

	/**
	 * 订单创建时间开始范围
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime createDateTimeStart;

	/**
	 * 订单创建时间结束范围
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime createDateTimeEnd;
}
